#ifndef UPDATE_LIGHT_H
#define UPDATE_LIGHT_H

#include <rtthread.h>
#include <stdint.h>
#include <stdbool.h>

//变量声明
extern int light_level;
extern uint8_t current_brightness;
extern uint32_t last_light_check_time;
extern rt_device_t lcd_device;

// 环境光检查间隔（毫秒）
#define LIGHT_CHECK_INTERVAL 100

// 指数移动平均滤波参数
#define EMA_ALPHA 0.2f
extern float ema_filtered_light;
extern bool ema_initialized;

// 函数声明
int apply_ema_filter(int new_value);
uint8_t calculate_brightness(int light_level);
void process_light_data(void);

#endif /* UPDATE_LIGHT_H */